package com.xinchao.service;

import com.xinchao.exception.ServiceException;
import com.xinchao.model.DeviceInfo;
import com.xinchao.model.dto.CityDeviceSumDTO;
import com.xinchao.model.dto.CityRegionDeviceSumDTO;

import java.util.List;

/**
 * 终端信息Service
 *
 * @author dxy
 * @date 2018/10/9 18:26
 */
public interface DeviceInfoService {
	/**
	 * 通过机器码获取终端信息
	 *
	 * @param deviceNumber 机器码
	 * @return DeviceInfo
	 * @throws ServiceException
	 */
	DeviceInfo getDeviceInfoByDeviceNumber(String deviceNumber) throws ServiceException;

	/**
	 * 获取所有终端
	 *
	 * @return List<DeviceInfo>
	 */
	List<DeviceInfo> listAllDeviceInfo();

	/**
	 * 获取所有终端编码
	 *
	 * @return List<String>
	 */
	List<String> listAllDeviceNumber();


	/**
	 * 获取城市终端总数
	 *
	 * @param deviceNumberList 机器码列表
	 * @return List<CityDeviceSumDTO>
	 */
	List<CityDeviceSumDTO> getCityDeviceSumPage(List<String> deviceNumberList) throws ServiceException;

	/**
	 * 获取城市区县终端总数
	 *
	 * @param deviceNumberList 机器码列表
	 * @return List<CityRegionDeviceSumDTO>
	 */
	List<CityRegionDeviceSumDTO> getCityRegionDeviceSumPage(List<String> deviceNumberList) throws ServiceException;
}
